package maze;

import maze.levels.Knowledge;
import maze.levels.Question;

/**
 *
 * @author Dennis Nijssen
 */
public class Cell {
    private final int row;
    private final int column;
    private boolean north;
    private boolean east;
    private boolean south;
    private boolean west;
    private boolean visited;
    private Question question;
    private Knowledge knowledge;
    
    public Cell(int row, int column) {
        this.row = row;
        this.column = column;
        
        this.north = true;
        this.east = true;
        this.south = true;
        this.west = true;
        this.visited = false;
    }
    
    public void addQuestion(Question question) {
        this.question = question;
    }
    public void addKnowledge(Knowledge knowledge) {
        this.knowledge = knowledge;
    }
    
    public int getColumn() {
        return column;
    }
    
    public int getRow() {
        return row;
    }
    
    public boolean getNorth() {
        return north;
    }
    
    public boolean getEast() {
        return east;
    }
    
    public boolean getSouth() {
        return south;
    }
    
    public boolean getWest() {
        return west;
    }
    
    public boolean getVisited() {
        return visited;
    }
    
    public Question getQuestion() {
        return question;
    }
    
    public Knowledge getKnowledge() {
        return knowledge;
    }
    
    public boolean hasQuestion() {
        return question != null;
    }
    
    public boolean hasKnowledge() {
        return knowledge != null;
    }
    
    public void setNorth(boolean north) {
        this.north = north;
    }
    
    public void setEast(boolean east) {
        this.east = east;
    }
    
    public void setSouth(boolean south) {
        this.south = south;
    }
    
    public void setWest(boolean west) {
        this.west = west;
    }
    
    public void setVisited(boolean visited) {
        this.visited = visited;
    }
}
